<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%-- 
    Document   : index
    Created on : 05/10/2012, 02:37:24 PM
    Author     : Jose Luis Torres
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<%
            HttpSession variableSesion = request.getSession(false);
            if (variableSesion.getAttribute("nombreUsuario") == null) {
                response.sendRedirect("../");
            } else if (!dp.Seguridad.meAbren(request.getRequestURI(), variableSesion.getAttribute("codigoUsuario"))) {
                response.sendRedirect("../error.jsp");
            }
%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link type="text/css" rel="stylesheet" href="../lib/css/estilos.css">


        <script type="text/javascript">
            function enviar(flag){
                document.getElementById("flagGuardar").value = flag;
                document.getElementById("frmAdminCC").submit();
            }

            function cargarAdminCont() {
                // Obtener la instancia del objeto XMLHttpRequest
                if(window.XMLHttpRequest) {
                    peticion_http = new XMLHttpRequest();
                }
                else if(window.ActiveXObject) {
                    peticion_http = new ActiveXObject("Microsoft.XMLHTTP");
                }

                // Preparar la funcion de respuesta
                peticion_http.onreadystatechange = muestraContenido;

                // Realizar peticion HTTP
                var cuenta = document.getElementById('txtNomCuenta').value;
                var sistema = document.getElementById('listSistema').value;
                peticion_http.open('GET', '../cargarAdminCont?nombreCuenta='+cuenta+'&listSistema='+sistema, true);
                peticion_http.send(null);

                function muestraContenido() {
                    if(peticion_http.readyState == 4) {
                        if(peticion_http.status == 200) {
                            datos = peticion_http.responseText.split(':');
                            document.getElementById('txtContr').value =  datos[0];
                            document.getElementById('txtVerifContr').value =  datos[0];
                            document.getElementById('listCategoria').value =  datos[1];
                            if(document.getElementById('txtContr').value !="")
                                document.getElementById('flagCarga').value= 2;
                        }
                    }
                }
            }
        </script>
        <title>Administración de Contraseña</title>
    </head>
    <body>
        <jsp:useBean id="beanSistemaDp" scope="page" class="dp.SistemaDP" />
        <jsp:useBean id="beanContrasenaDp" scope="page" class="dp.ContrasenaDP" />
        <jsp:useBean id="beanCuentaDp" scope="page" class="dp.CuentaDP" />
        <form class="formulario" id="frmAdminCC" name="frmAdminCC" method="POST" action="<%= request.getRequestURI()%>"><br>
            <div class="container">
                <h3>Administración de Cuenta y Contrase&ntilde;a</h3>
                <div class="labels">
                    <label>Nombre de Cuenta:</label><br>
                    <label>Sistema:</label><br>
                    <label>Categoria:</label><br>
                    <label>Contrase&ntilde;a:</label><br>
                    <label>Confirma Contrase&ntilde;a:</label><br>
                </div>       
                <div class="inputs">
                    <input type="text" id="txtNomCuenta" name="txtNomCuenta" value="" /><br>
                    <select onchange="cargarAdminCont()" id="listSistema" name="listSistema" >
                        <c:forEach var="sist" items="${beanSistemaDp.sistemas}">
                            <option value="${sist.key}">${sist.value}</option>
                        </c:forEach>
                    </select><br>
                    <select id="listCategoria" name="listCategoria">
                        <option value="1">Baja</option>
                        <option value="2">Media</option>
                        <option value="3">Alta</option>
                    </select><br>
                    <input type="text" id="txtContr" name="txtContr" value="" /><br>
                    <input type="text" id="txtVerifContr" name="txtVerifContr" value="" /><br>
                </div>
                <div class="zonaBtn">
                    &nbsp;<br>
                    <input onclick="enviar(1)" type="button" value="Guardar"  id="btnGuardar" name="btnGuardar" />
                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <input onclick="enviar(2)" type="button" value="Eliminar"  id="btnEliminar" name="btnEliminar" />
                </div>
            </div>
            <div id="errores"></div>
            <input type="hidden" value="" id="flagGuardar" name="flagGuardar">
            <input type="hidden" value="" id="flagCarga" name="flagCarga">
        </form>
    </body>
</html>
<%
            if (request.getParameter("flagGuardar") != null) {
                int op = Integer.parseInt(request.getParameter("flagGuardar"));
                
                System.out.println(variableSesion.getAttribute("codigoUsuario").getClass());
                
                int codigo = Integer.parseInt(variableSesion.getAttribute("codigoUsuario").toString());
                beanCuentaDp.setCodigoUsuario(codigo);
                beanCuentaDp.setIdSistema(Integer.parseInt(request.getParameter("listSistema")));
                beanCuentaDp.setNombreCuenta(request.getParameter("txtNomCuenta"));
                
                if (request.getParameter("txtContr").equals(request.getParameter("txtVerifContr"))) {
                    beanContrasenaDp.setDatos(request.getParameter("txtContr"), Integer.parseInt(request.getParameter("listCategoria")));
                    System.out.println("llegue5");
                } else {
                    System.out.println("La contraseña no coincide!!!!");
                }

                switch (op) {
                    case 1://Guardar
                        boolean modificar=true;
                        System.out.print("El valor de la bandera es: "+request.getParameter("flagCarga"));
                        if(!request.getParameter("flagCarga").equals("2"))
                        {
                        modificar=false;
                        beanContrasenaDp.ingresarContrasena();
                        beanCuentaDp.setIdContrasena(beanContrasenaDp.getidMax());
                        }

                        beanCuentaDp.guardar();
                        System.out.print("Modificar"+modificar);
                        if(modificar==true)
                            {
                                beanContrasenaDp.setDatos(request.getParameter("txtContr"), Integer.parseInt(request.getParameter("listCategoria")));
                                beanContrasenaDp.setIdContrasena(beanCuentaDp.getIdContrasena());
                                beanContrasenaDp.modificarContrasena();
                            }
                        break;
                    case 2://Eliminar
                        
                        beanContrasenaDp.setIdContrasena(beanCuentaDp.eliminarCuenta());
                        beanContrasenaDp.eliminarContrasena();
                        break;
                    case 3://Verificar existencia
                        beanCuentaDp.verificarCuenta();
                        break;
                    default:
                        System.out.print("Opcion escogida invalida");
                        break;
                }
            }
%>